package com.hghivln.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hghivln.pojo.domain.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface RoleMapper extends BaseMapper<Role> {
    /**
     * 根据角色 id 删除 sys_role_menu
     */
    void deleteRoleMenuByRoleIds(List<Long> idList);

    /**
     * 根据角色 id 删除 sys_role_user
     */
    void deleteRoleUserByRoleIds(List<Long> idList);

    /**
     * 根据角色 id 删除 sys_role
     */
    int deleteRoleByIds(List<Long> idList);

    /**
     * 查询一个
     */
    String getRoleById(Long id);

    /**
     * 保存角色和菜单的关系到数据库
     */
    void saveRoleMenu(@Param("roleId") Long roleId,@Param("menuId") Long menuId);

    /**
     * 保存角色和用户之间的关系
     */
    void saveRoleUser(@Param("userId") Long userId, @Param("roleId") Long roleId);

    /**
     * 根据用户 ID 查询角色
     */
    List<Long> selectRoleIdsByUserId(Long userId);

    /**
     * 跟据用户 ID 删除 sys_role_user里的数据
     */
    void deleteRoleUserByUserIds(List<Long> idList);
}